// 导入action-types
import {GET_MESSAGE} from './action-types';
// 导入actions: get_message,get_slider
import {get_message,get_slider} from './actions';
// 导入saga
import { put, takeEvery, call, delay, all } from 'redux-saga/effects';

function* rootSaga(){
    // takeEvery(aciton-type,异步处理方法); 根据不同的action-type触发对应的saga
    // all()负责启动其他saga
    yield all([getSlider(),getMessage()]);
}

// redux-saga异步action
function* getSlider() {
    // 通过call发送异步请求
    const response=yield call(fetch,'http://106.13.182.88:8081/get.php');
    const {data}=yield response.json();
    // 通过put触发对应的action
    yield put(get_slider(data));
}

function* getMessage(){
    yield delay(2000);
    const data=[{
        id:1,
        content:'我翻开这段历史, 这历史没有年代, 每页歪歪斜斜写满了仁义道德四个字, 我横竖睡不着, 仔细看了半夜, 才从字缝中看出字来, 满本都写着"吃人"两个字',
        author:'鲁迅',
        createTime:new Date()
    }];
    // 通过put触发同步的action
    yield put(get_message(data));
}

export default rootSaga;